Aspects of the present invention relate in general to domain specific language, and more particularly, to methods and systems for intuitively designing a domain specific language. A domain specific language is a computer programming language used to solve problems within a particular problem domain. A problem domain refers to the specific problem or task that a particular software application is designed to perform. For example, a particular software application may be designed to extract data regarding music albums from natural language describing those albums. Thus, the problem domain for such a software application would be the task of extracting data from the natural language and formatting it for use in a database.
The process of designing a domain specific language is often done by persons who are well experienced in the field of computer science and language analytics. For some problem domains such as the example of extracting data related to music albums, it may not be cost effective to hire such experts to develop the appropriate domain specific language. It is often only economical to create domain specific languages for problem domains that are of a sufficient scale and complexity to warrant the cost of creating an appropriate domain specific language.